/*
 * Created on 2008-06-05
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package elka.isi.individual;

import org.evolvica.core.eval.FloatScore;

/**
 * @author Zibi
 *
 * To change the template for this generated type comment go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
public class RabbitIndividual extends HerbivoreAnimalIndivdual {

    public static final double HARVESTING_RATE = 1.0;
    public static final double HUNTING_RATE = 1.0;
    public static final double APPETITE_SCORE = 1.0;
    public static final double REPRODUCTION_SCORE = 2.0;
    public static final double SIZETOFOOD_SCORE = 1.0;

    /* (non-Javadoc)
	 * @see elka.isi.individual.AnimalIndividual#getSpecies()
	 */
	public Class getSpecies_OLD() {
		return RabbitIndividual.class;
	}

    public void evaluate(int rabbitsInPopulation, int roesInPopulation, int wolvesInPopulation ) {
            harvestingScore = HARVESTING_RATE * countHarvestingScore();
			huntingScore = HUNTING_RATE * countHuntingScore();
            appetiteScore = APPETITE_SCORE * countAppetiteScore();
            reproductionScore = REPRODUCTION_SCORE * countReproductionScore();
			nutritionalScore = SIZETOFOOD_SCORE * countSizeToFoodScore();

            setScore(new FloatScore((float)harvestingScore + (float)huntingScore - (float)appetiteScore));
    }

	public int getSpecies() {
		return RABBIT;
	}
}
